<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />

  <title>Breakpoints</title>
  <link href="book.css" rel="stylesheet" type="text/css" />
  <meta content="DocBook XSL-NS Stylesheets V1.73.0" name="generator" />
  <link rel="start" href="index.html" title="EPIC - User's Guide" />
  <link rel="up" href="ch06.html" title="Using the Perl Debugger" />
  <link rel="prev" href="ch06s02.html" title="Creating Launch Configurations" />
  <link rel="next" href="ch06s04.html" title="Views in the Debug Perspective" />
</head>

<body>
  <div class="section" lang="en" xml:lang="en">
    <div class="titlepage">
      <div>
        <div>
          <h2 class="title" style="clear: both"><a id="breakpoints" name=
          "breakpoints"></a>Breakpoints</h2>
        </div>
      </div>
    </div>

    <p>The Perl debugger supports <span class="emphasis"><em>line breakpoints</em></span> and
    <span class="emphasis"><em>regular expression breakpoints</em></span>. Both types of
    breakpoints are set on an executable line of a program. If enabled, they suspend thread
    execution before the corresponding line of code is executed. Regular expression breakpoints
    additionally extract the regular expression contained in the line of code they are associated
    with and enable you to debug the regular expression within the <a class="link" href="ch07.html"
    title="RegExp Plug-in">RegExp-Plugin</a>.</p>

    <p>The following symbols are used to indicate breakpoints:</p>

    <div class="informaltable">
      <a id="N108A3" name="N108A3"></a>

      <table border="1">
        <colgroup>
          <col />
          <col />
          <col />
        </colgroup>

        <thead>
          <tr>
            <th>Status</th>

            <th>Line Breakpoint</th>

            <th>Regular Expression Breakpoint</th>
          </tr>
        </thead>

        <tbody>
          <tr>
            <td>Enabled</td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/line_bp_en.gif" /></span></td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/rx_bp_en.gif" /></span></td>
          </tr>

          <tr>
            <td>Disabled</td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/line_bp_dis.gif" /></span></td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/rx_bp_dis.gif" /></span></td>
          </tr>

          <tr>
            <td>Registered with debugger</td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/line_bp_inst.gif" /></span></td>

            <td align="center"><span class="inlinemediaobject"><img src=
            "images/rx_bp_inst.gif" /></span></td>
          </tr>
        </tbody>
      </table>
    </div>

    <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <h3 class="title">Note</h3>

      <p>Regular Expressions Breakpoints are still in an experimental state and will at the moment
      only work for expressions of the type: <code class="literal">Expr1 =~ <span class=
      "symbol">&lt;delim&gt;</span>regexp<span class="symbol">&lt;delim&gt;</span><span class=
      "symbol">modifiers</span>;</code> Modifiers are ignored.</p>
    </div>

    <div class="section" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h3 class="title"><a id="N108F1" name="N108F1"></a>Setting Breakpoints</h3>
          </div>
        </div>
      </div>

      <div class="orderedlist">
        <ol type="1">
          <li>
            <p>In the editor area, open the file where you want to add the breakpoint with the Perl
            editor.</p>
          </li>

          <li>
            <p>Directly to the left of the line where you want to add the breakpoint, open the
            marker bar (vertical ruler) pop-up menu and select <span class="guimenuitem">Add
            Breakpoint</span> or <span class="guimenuitem">Add RegExp Breakpoint</span>.</p>
          </li>
        </ol>
      </div>

      <p>While the breakpoint is enabled, thread execution suspends before that line of code is
      executed.</p>
    </div>

    <div class="section" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h3 class="title"><a id="N10907" name="N10907"></a>Enabling or Disabling
            Breakpoints</h3>
          </div>
        </div>
      </div>

      <p>Open the debug view, open the <a class="link" href="ch06s04.html#breakpoints-view" title=
      "Breakpoints View"><span class="guilabel">Breakpoints</span> view</a> and use the check box
      in front of the break point to enable or disable the break point.</p>
    </div>

    <div class="section" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h3 class="title"><a id="N10913" name="N10913"></a>Removing Breakpoints</h3>
          </div>
        </div>
      </div>

      <p>There are two possible ways for removing a breakpoint:</p>

      <div class="orderedlist">
        <ol type="1">
          <li>
            <p>Right click on the breakpoint symbol in marker the bar (vertical ruler) of the
            editor pop-up menu and select <span class="guimenuitem">Remove Breakpoint</span>.</p>
          </li>

          <li>
            <p>Open the debug perspective, open the <a class="link" href=
            "ch06s04.html#breakpoints-view" title="Breakpoints View"><span class=
            "guilabel">Breakpoints</span> view</a>, right-click the breakpoint you want to remove
            and select <span class="guimenuitem">Remove</span>.</p>
          </li>
        </ol>
      </div>
    </div>
  </div>
</body>
</html>
